常见问题解答

 

问1: 程序在运行过程中的信息会输出到日志吗?日志存放在哪里?
答:

输出的日志有两种,一个是 SuperMap iDesktopX 的 log,一个是 SuperMap iObjects 的 log,分别记录了桌面和组件运行输出的信息。日志中的内容包括程序输出窗口的输出信息、异常信息等。日志存放在根目录下的“bin”目录下的“log”文件夹中。

问2: 在Linux系统上通过桌面使用Oracle数据源,提示打开或新建失败是什么原因呢?
答: 该现象是没有设置Oracle环境变量导致的,解决方案为:每次启动 SuperMap iDesktopX 之前,在 Terminal 中将 Oracle 客户端临时设置到环境变量中,例如,通过 profile 文件设置环境变量,将以下命令写到 profile 文件中,再在 Terminal 中执行 source profile。

  #!/bin/bash   export ORACLE_HOME=/opt/oracleClient(客户端所在路径)   export PATH=$PATH:$ORACLE_HOME   export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH

Oracle 客户端环境变量设置好之后在该 Terminal 中重新启动 SuperMap iDesktopX,即可正常使用 Oracle 数据源。 新建或者链接一个 oracle 数据源需要在运行桌面的环境中配置 oracle 客户端,将客户端添加到 LD_LIBRARY_PATH,可以给一个 profile 示例,并配置 tnsnames.ora;可以用 EZConnect 方式连接,则可不配置 tnsnames。

问3: 项目使用的 iObjects Java 是哪个版本?OSCHINA 上的 develop 分支使用官网最新下载的 iObjects 无法编译通过,如何解决?
答:

develop 分支中的源代码依赖的是还在开发中未发布的 iObjects Java,用户无法获取到最新版本的 iObjects,因此会导致代码编译出错。建议用户抓取 Tags 中固定版本的源代码,同时在 SuperMap 官网下载对应的 iObjects Java 版本进行编译即可。

问4: 启动桌面时无法启动,并提示"许可检查失败,请确认许可是否安装成功"。
答:

出现该情况的原因有三个,一是没有配置许可,二是许可未配置成功,三是许可到期。若是前两个原因,则解决方案为重新配置许可,Windows 和 Linux 操作系统的配置方式不同,具体操作请分别参见 Windows 配置指南和 Linux 配置指南中的许可配置。

问5: 为什么在 SUSE Linux Enterprise 11 SP2 操作系统上启动 SuperMap iDesktopX 报“libSuGraphicsQT.uge:undefined symbol:_ZN40GDC170gdcUnicodeStringC1EPKw”的错误?
答:

在 SUSE 上需要安装第三方数据库客户端才能正确加载 sdx 数据引擎。一个 sdx 加载失败会影响其他 sdx 数据引擎的加载,从而导致无法打开任何数据源或程序启动失败。需要依赖第三方数据库客户端的sdx数据引擎文件有:libSuEngineSRDB.sdx、libSuEngineOracle.sdx、libSuEngineDMCI.sdx、libSuEngineOsp.sdx、libSuEngineAltibase.sdx、libSuEngineDB2.sdx、libSuEngineKDB.sdx。例如:如果需要使用 Oracle 数据源,则首先安装 Oracle 客户端,然后删除 libSuEngineOracle.sdx 之外的上述所有 *.sdx,再启动 SuperMap iDesktopX 。以此类推,如果需要使用其他数据库引擎,也进行相应的处理。

解决方法是:保留产品包内 bin 目录下 libSuEngineImagePlugin.sdx 和需要的数据库引擎文件,删除不需要的数据库引擎文件(上述列表中的*.sdx)。

问6: 编译运行代码时抛异常。
答:

git 上代码分为2个分支:master 和 develop。其中 master 分支为主版本分支,每次发布稳定版本时会推送到 Master 分支上。develop 分支是开发分支,每天修改的代码都会推送,但不保证代码的稳定性。因此,develop 版本可能会出现抛异常的情况。

问7: 在 Linux 系统中运行 SuperMap iDesktopX ,界面中的字体显示为方块是怎么回事呢?
答:

这是 Linux 系统缺失中文字体导致的,在产品包目录下的 jre/jre/lib/fonts 文件夹中下放置一个中文字体,程序界面文字即可正常显示。

问8: 在 Linux 系统下,地图中的文本标签显示异常。
答:

在地图可视化过程中,会使用到一些特殊的字体,比如“微软雅黑”等,这部分字体在 Linux 操作系统中可能没有,从而导致地图注记等文本要素显示异常。请查看附件 fonts_1.zip 以及 fonts_2.zip,其中包含了主流常见字体。在 Linux 操作系统使用本程序或源码时,请下载并解压到"根目录/support/fonts/"目录(如果没有,请自行创建)中,并添加环境变量 SUPERMAP_ROOT,该环境变量值设置为"根目录/support/"。然后参照《SuperMap iDesktopX 8C 扩展开发指南.doc》进行环境配置,即可正常显示文本要素。

问9: 没有中文环境的 Linux 系统中发布带中文名称的地图服务,浏览器中地图预览图片显示异常。
答:

若 Linux 没有中文环境,则发布的地图名称建议改成英文名称;或在有中文环境的 Linux 系统中发布含中文名称的地图服务。

问10: 启动桌面报 “java.lang.UnsatisfiedLinkError: /opt/SuperMap_iDesktop_Java_8.1.1_bin_linux64/bin/ libWrapjGeo.so: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./bin/ libSuToolkit.so)” 错误
答:

将桌面包的 support 文件夹中的 “libstdc++.so.6” 文件拷贝到组件的 Bin 目录下即可解决该问题。

问11: 在 centos5.7 系统中,用 SecureCRT.exe 终端控制工具远程访问服务器时只出现命令行操作框不显示界面,无法启动桌面。
答:

桌面的启动需要依赖图形界面库,只能在图形化界面上进行启动,并进行图形化操作。因而需首先保证远程服务器上配置有图形界面库。其次,选择可视化远程连接工具,而 SecureCRT 是命令行远程连接工具,建议换另一种远程控制工具,如 vnc 或 xmanager ,这两个工具都可以远程连接到 UNIX 或 Linux 并进行图形化操作,但需要进行相应配置,有关 Vnc 配置可以参见 centos 5.5 如何配置 vnc 和 VNC 的安装和配置

备注:若在其他 Linux 操作系统中遇到该问题,可采用相同的解决方案。

问12: 为什么 SuperMap iDesktopX  安装到 C:\Program Files、C:\Program Files (x86) 等系统目录后,虽然桌面可以正常启动,但有些功能(如:修改颜色方案、布局保存到模板库)无法正常使用?
答:

执行修改颜色方案、保存布局到模板库等功能,会向安装路径写数据。直接双击 SuperMap iDesktopX.exe启动桌面时,没有权限向系统目录写数据,因此功能会执行失败。此时,以管理员身份运行 SuperMap iDesktopX.exe 即可解决上述问题。

问13: 为什么使用 SuperMap iDesktopX 无法打开 C:\、C:\Program Files、C:\Program Files (x86) 等系统目录下的数据,也无法将图片、模板等文件保存到系统目录?
答:

直接双击 SuperMap iDesktopX.exe 启动桌面时,没有权限读写系统目录下的数据,可以通过以下方式解决此问题:

  • 将要使用的数据放到非系统目录,更改输出文件的路径为非系统目录;(推荐)
  • 选中 SuperMap iDesktopX.exe,单击鼠标右键,选择”以管理员身份运行“;
  • 选中 SuperMap iDesktopX.exe,单击鼠标右键,选择”属性“,更改 exe 权限为管理员权限,重新运行 exe;
问14: 在 Windows 系统中启动 SuperMap iDesktopX,启动失败并报如下错误,同时 error.log 提示“安装路径\SuperMap iDesktopX \bin\WrapjGeo.dll: 找不到指定的程序”,该怎么解决呢?
答:

这种情况是由于缺少 Microsoft Visual C++ 运行环境,在产品包安装路径\SuperMap\SuperMap iDesktopX\support文件夹中,双击 vcredist110_x64.exe,成功安装 Microsoft Visual C++ 2012 后,即可正常启动。

问15:

在 Windows Server 系统中,启动 SuperMap iDesktopX 提示下图错误,该怎么解决呢?

答:

这是由于 dll 文件加载失败导致的。可以通过以下方法解决:

  1. 重启 SuperMap iDesktopX
  2. 若再次启动依然报同样的错误,可在产品包\configuration 文件夹中,打开 SuperMap.Desktop.Parameter.xml 文件,将 “<loadDll loadDll="true"/>” 中的 true 改为 False
  3. 修改之后,再次启动 SuperMap iDesktopX 即可。
问16: 若 centos5.7 系统配置的 jre 版本早于 1.7,无法启动 SuperMap iDesktopX ,并且会报错,如何解决该问题呢?
答:

SuperMap iDesktopX 启动需要依赖于 jre 1.7 及更新的环境,由于 jre 版本没有达到要求,所以 Java 会启动失败,解决方案有以下两种:

  • 卸载本地安装的旧版本 jre 环境,安装 1.7 或更新的 jre,然后重新启动 Java 即可;
  • Java 产品包中带有 jre 1.7 的环境,启动桌面时会优先考虑本地配置的环境,因此会导致启动失败。若用户不想卸载本地的 jre 环境,可以修改 startup.sh 的脚本,将 “export PATH=$SUPERMAP_ROOT:$LD_LIBRARY_PATH:$JRE_PATH:$PATH” 中的 $JRE_PATH: 放到最前面,即:export PATH=$JRE_PATH:$SUPERMAP_ROOT:$LD_LIBRARY_PATH:$PATH。重新执行 startup.sh 文件即可启动 Java。

备注:该问题在 9D 版本中已解决,不会出现 jre 环境过低无法启动的问题。